package com.example.picturebacked.service;

import com.example.picturebacked.model.dto.space.analyze.*;
import com.example.picturebacked.model.dto.space.analyze.SpaceRankAnalyzeRequest;
import com.example.picturebacked.model.entity.Space;
import com.example.picturebacked.model.entity.User;
import com.example.picturebacked.model.vo.space.analyze.*;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Autheor LBT
 */
@Service
public interface SpaceAnalyzeService {
    /**
     * 空间权限校验
     */
    void checkSpaceAnalyzeAuth(SpaceAnalyzeRequest spaceAnalyzeRequest, User loginUser);

    /**
     * 获取空间使用分析数据
     */
    SpaceUsageAnalyzeResopnse getSpaceUsageAnalyze(SpaceAnalyzeRequest spaceAnalyzeRequest, User loginUser);

    /**
     * 图片分类使用情况分析
     */
    List<SpaceCategoryAnalyzeResponse> getSpaceCategoryAnalyze(SpaceCategoryAnalyzeRequest spaceCategoryAnalyzeRequest, User loginUser);

    /**
     * 标签图片数量使用情况
     */
    List<SpaceTagAnalyzeResponse> getSpaceTagAnalyze(SpaceTagAnalyzeRequest spaceTagAnalyzeRequest, User loginUser);

    /**
     * 图片大小使用情况分析
     */
    List<SpaceSizeAnalyzeResponse> getSpaceSizeAnalyze(SpaceSizeAnalyzeRequest spaceSizeAnalyzeRequest, User loginUser);

    /**
     * 用户上传分析
     */
    List<SpaceUserAnalyzeResponse> getUserUploadAnalyze(SpaceUserAnalyzeRequest spaceUserAnalyzeRequest, User loginUser);

    /**
     * 空间使用排行
     */
    List<Space> getSpaceRankAnalyze(SpaceRankAnalyzeRequest spaceRankAnalyzeRequest, User loginUser);


}


























